/*
 * Copyright © 2021 http://www.hn-szzy.com/ All rights reserved.
 */
package com.xjh.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.xjh.bo.StudentBO;
import com.xjh.utils.base.BasePO;
import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author： 徐建华
 * @date： 2021/12/27
 * @description：
 */
@Data
@Entity
@Table(name = "jpa_account")

//@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler"})
public class JpaAccount implements Serializable {

    /**
     * 主键id
     */
    @Id
    private Long id;


    /**
     * 账户余额
     */
    @Column
    private BigDecimal money;

    /**
     * 是否可用: 0-已删除;1-正常
     */
    @Column
    private Integer isEnable;

    /**
     * 创建人
     */
    @Column
    private Long createBy;


    /**
     * 创建时间
     */
    @Column
    private String createTime;


    /**
     * 修改时间
     */
    @Column
    private String updateTime;

    /**
     * 学生id
     */
//    @Column
//    private Long stuId;


    /**
     * 学生实体
     */

    //声明为一对一关系
//    ALL：所有操作都进行关联操作
//    PERSIST：插入操作时才进行关联操作
//    REMOVE：删除操作时才进行关联操作
//    MERGE：修改操作时才进行关联操作
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
//    @ManyToOne(targetEntity = JpaStudent.class,cascade={CascadeType.MERGE,CascadeType.REFRESH},optional=false)//可选属性optional=false,表示author不能为空。删除文章，不影响用户
    //一对一
    @JoinColumn(name = "stu_id")
    @JsonIgnore
    private JpaStudent jpaStudent;
}
